Non-volatile data storage devices, such as embedded memory devices (e.g., embedded MultiMedia Card (eMMC) devices) and removable memory devices (e.g., removable universal serial bus (USB) flash memory devices and other removable storage cards), have allowed for increased portability of data and software applications. Users of non-volatile data storage devices increasingly rely on the non-volatile storage devices to store and provide rapid access to a large amount of data.
Errors may occur in a memory, such as a flash memory, of a non-volatile data storage device. For example, random errors may occur due to various conditions, such as noise (e.g., a programming noise), a read disturb, cross-coupling effects, memory cell wear, etc. Alternatively or in addition, errors may occur due to physical memory defects (e.g., a broken wordline, a wordline-to-wordline short, etc.). Data storage devices may employ different types of protection schemes to protect against different types of errors (e.g., random errors or physical errors). The protection schemes may use redundant cells (e.g., “redundancy”) to correct errors and maintain data integrity. The random errors may be corrected with an error correcting code (ECC) scheme and the physical errors may be corrected with a redundant array of disks type (RAID-type) scheme, such as a scheme that uses one or more exclusive- or (XOR) operations. For example, in an ECC scheme, one or more parity bits may be added to a data page to enable correction of random errors that may occur in the data page. In a RAID-type scheme, parity bits may be added across pages (e.g., across physical blocks). To illustrate, in a RAID-type scheme, multiple pages from different physical blocks may be XORed together and a resulting XOR page may be stored in another physical block.
The non-volatile data storage device may allocate a first portion of a storage capacity of the memory to store redundancy data for resolving random errors. For example, the first portion may be determined based on a bit error rate (BER) and/or a charge loss associated with an end-of-life condition of the non-volatile data storage device. Additionally, the non-volatile data storage device may allocate a second portion of the storage capacity of the memory to store redundancy data for resolving physical errors. For example, the second portion may be determined based on a defect rate associated with a beginning-of-life condition of the non-volatile data storage device. The first portion is distinct from the second portion and, accordingly, a relatively large portion of the memory of the non-volatile data storage device may be dedicated to correcting errors.